package com.hua.common.commontools;

import android.app.Activity;
import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Display;

/**
 *
 */
public class DipUtil {

    /**
     * 根据手机的分辨率从dp的单位转成为px(像素)
     *
     * @param con
     * @param dpValue
     * @return
     */
    public static int Dp2px(Context con, float dpValue) {
        final float scale = con.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根据手机的分辨率从px(像素)的单位 转成为dp
     *
     * @param con
     * @param pxValue
     * @return
     */
    public static int Px2dp(Context con, float pxValue) {
        final float scale = con.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    /**
     * 将px值转换为sp值，保证文字大小不变
     *
     * @param con
     * @param pxValue
     * @return
     */
    public static int Px2sp(Context con, float pxValue) {
        final float scale = con.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    /**
     * 将sp值转换为px值，保证文字大小不变
     *
     * @param con
     * @param spValue
     * @return
     */
    public static int Sp2px(Context con, float spValue) {
        final float scale = con.getResources().getDisplayMetrics().density;
        return (int) (spValue * scale + 0.5f);
    }

    /**
     * 获取屏幕的高度
     * @param activity
     * @return
     */
    public static float getPhoneHeight(Activity activity){
        return activity.getResources().getDisplayMetrics().heightPixels;  //得到高度
    }

    /**
     * 获取屏幕的宽度
     * @param activity
     * @return
     */
    public static float getPhoneWidth(Activity activity){
        return activity.getResources().getDisplayMetrics().widthPixels;   //得到宽度
    }

    /**
     * 获取屏幕的density
     * @param activity
     * @return
     */
    public static float getPhonedensity(Activity activity){
        return activity.getResources().getDisplayMetrics().density;   //得到宽度
    }

    /**
     * 获取屏幕的densityDpi
     * @param activity
     * @return
     */
    public static float getPhonedensityDpi(Activity activity){
        return activity.getResources().getDisplayMetrics().densityDpi;   //得到宽度
    }


}
